/**
 * 标注实体类demo案例
 */

import * as Cesium from "cesium";
import * as EasyCesium from "@xhymf1992/easy-cesium";

export async function drawLabelEntity() {

    // @ts-ignore
    window.image1 = await Cesium.Resource.fetchImage({
        url: "https://hz.gridworld.com.cn:50443/te3/di/get_file/location.png/"
    })

    // @ts-ignore
    window.image2 = await Cesium.Resource.fetchImage({
        url: "https://hz.gridworld.com.cn:50443/te3/di/get_file/flag.png/"
    })

    let position = Cesium.Cartesian3.fromDegrees(120, 30, 1000);
        
    let options = {
        id: "label-entity", // entity对象id，具有唯一性，必填
        name: "label-entity", // entity的名称，可选，默认为空
        show: true, // 是否显示，可选，默认显示
        position: position, // 图标位置，必填

        // @ts-ignore
        image: image1, // 图标数据，可选，默认为空
        imageShow: true, // 是否显示图标，可选，默认显示
        imageColor: "rgba(255,0,0,1)", // 图标的颜色，可选，默认为rgba(255, 255, 255, 1)
        imageScale: 1.0, // 图标的缩放值，可选，默认为1

        text: "位置", // 文本内容，可选，默认为空
        textShow: true, // 是否显示文本，可选，默认显示
        textColor: "rgba(0,255,0,1)", // 文本颜色，可选，默认为rgba(255, 255, 255, 1)
        textScale: 1.0, // 文本的缩放值，可选，默认为1
        textOutlineColor: "rgba(0,0,0,1)", // 文本边框颜色，可选，默认为rgba(0, 0, 0, 1)
        textOutlineWidth: 2, // 文本边框宽度，可选，默认为0，最大为8
        textHorizontalOffset: 0, // 文本在屏幕中的水平像素偏移距离:[朝右，朝下]，可选，默认为0
        textVerticalOffset: 0, // 文本在屏幕中的垂直像素偏移距离:[朝右，朝下]，可选，默认为0

        distanceDisplayCondition: [0, 1e6], // 图元在该视角距离内可见，其他距离不可见：[near, far]，可选，默认不启用
        disableDepthTestDistance: 0, // 视角离标注的距离小于此值时关闭深度检测，可选，默认为0
        
        constant: true, // 是否是静态的，可选，默认为是，当为false时，参数变为时变类型，适用于制作动画
        viewer: window.viewer // cesium视图对象，必填
    };

    // @ts-ignore
    window.label = new EasyCesium.LabelEntity(options);
    // @ts-ignore
    window.label.init();
    // @ts-ignore
    window.label.flyTo();

    // // 切换图标+文字的显隐
    // window.label.show = false;
    // window.label.show = true;


    // // 切换图标的显隐
    // window.label.imageShow = false;
    // window.label.imageShow = true;

    // // 修改图标的颜色
    // window.label.imageColor = "rgba(255,255,0,1)";

    // // 修改图标的大小
    // window.label.imageScale = 1.2;

    // // 修改图标
    // window.label.image = image2;


    // // 切换文本的内容
    // window.label.text = "test";

    // // 切换文本的显隐
    // window.label.textShow = false;
    // window.label.textShow = true;

    // // 修改文本的颜色
    // window.label.textColor = "rgba(255,255,0,1)";

    // // 修改文本的大小
    // window.label.textScale = 1.2;

    // // 修改文本边框的颜色
    // window.label.textOutlineColor = "rgba(255,255,0,1)";

    // // 修改文本边框的宽度
    // window.label.textOutlineWidth = 5;

    // // 对文本进行水平偏移
    // window.label.textHorizontalOffset = 50;

    // // 对文本进行垂直偏移
    // window.label.textVerticalOffset = 50;

    
    // // 销毁entity
    // window.label.destroy();

}